package org.zhangchao.poi.excel.common;

import java.util.Calendar;
import java.util.Date;

import org.apache.poi.ss.formula.FormulaParseException;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.Comment;
import org.apache.poi.ss.usermodel.Hyperlink;
import org.apache.poi.ss.usermodel.RichTextString;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.util.CellRangeAddress;

/**
 * Excel 单元格实体类
 * @author zhangchao
 *
 */
public class XCell implements Cell {
	
	/** 行索引 */
	private int rowIndex;
	
	/** 列索引 */
	private int columnIndex;
	
	/** 单元格的值 */
	private String value;
	
	/** row */
	private Row row;
	
	/** sheet */
	private Sheet sheet;
	
	/**
	 * 无参构造方法
	 */
	public XCell() {
		super();
	}
	
	/**
	 * 构造方法
	 * @param rowIndex 行索引
	 * @param columnIndex 列索引
	 */
	public XCell(int rowIndex, int columnIndex) {
		super();
		this.rowIndex = rowIndex;
		this.columnIndex = columnIndex;
	}

	/**
	 * 构造方法
	 * @param rowIndex 行索引
	 * @param columnIndex 列索引
	 * @param value 值
	 */
	public XCell(int rowIndex, int columnIndex, String value) {
		super();
		this.rowIndex = rowIndex;
		this.columnIndex = columnIndex;
		this.value = value;
	}
	
	public void setRowIndex(int rowIndex) {
		this.rowIndex = rowIndex;
	}

	public void setColumnIndex(int columnIndex) {
		this.columnIndex = columnIndex;
	}

	public String getValue() {
		return value;
	}

	public void setValue(String value) {
		this.value = value;
	}

	public void setRow(Row row) {
		this.row = row;
	}

	public void setSheet(Sheet sheet) {
		this.sheet = sheet;
	}
	
	//@Override
	public int getColumnIndex() {
		return columnIndex;
	}

	//@Override
	public int getRowIndex() {
		return rowIndex;
	}

	//@Override
	public Row getRow() {
		return row;
	}
	
	//@Override
	public Sheet getSheet() {
		return sheet;
	}

	//@Override
	public CellRangeAddress getArrayFormulaRange() {
		return null;
	}

	//@Override
	public boolean getBooleanCellValue() {
		return false;
	}

	//@Override
	public int getCachedFormulaResultType() {
		return 0;
	}

	//@Override
	public Comment getCellComment() {
		return null;
	}

	//@Override
	public String getCellFormula() {
		return null;
	}

	//@Override
	public CellStyle getCellStyle() {
		return null;
	}

	//@Override
	public int getCellType() {
		return Cell.CELL_TYPE_STRING;
	}

	//@Override
	public Date getDateCellValue() {
		return null;
	}

	//@Override
	public byte getErrorCellValue() {
		return 0;
	}

	//@Override
	public Hyperlink getHyperlink() {
		return null;
	}

	//@Override
	public double getNumericCellValue() {
		return 0;
	}

	//@Override
	public RichTextString getRichStringCellValue() {
		return null;
	}

	//@Override
	public String getStringCellValue() {
		return value;
	}

	//@Override
	public boolean isPartOfArrayFormulaGroup() {
		return false;
	}

	//@Override
	public void removeCellComment() {
		
	}

	//@Override
	public void setAsActiveCell() {
		
	}

	//@Override
	public void setCellComment(Comment comment) {
		
	}

	//@Override
	public void setCellErrorValue(byte byte0) {
		
	}

	//@Override
	public void setCellFormula(String s) throws FormulaParseException {
		
	}

	//@Override
	public void setCellStyle(CellStyle cellstyle) {
		
	}

	//@Override
	public void setCellType(int i) {
		
	}

	//@Override
	public void setCellValue(double d) {
		
	}

	//@Override
	public void setCellValue(Date date) {
		
	}

	//@Override
	public void setCellValue(Calendar calendar) {
		
	}

	//@Override
	public void setCellValue(RichTextString richtextstring) {
		
	}

	//@Override
	public void setCellValue(String s) {
		
	}

	//@Override
	public void setCellValue(boolean flag) {
		
	}

	//@Override
	public void setHyperlink(Hyperlink hyperlink) {
		
	}

}
